import { IRequestVo, IResponseVo } from './common.ts';
import { ParamTypeEnum } from './enumeration.ts';

export type ParamValueType = string | number | boolean | object;

export interface IParamVo extends IRequestVo {
  // xxx.xxx 或 xxx.xxx.xxx
  key: string;
  type: ParamTypeEnum;
  value: ParamValueType;
}

export interface IParamParsingDto {
  params?: IParamVo[];
  expression: string;
  resultType: ParamTypeEnum;
}

export interface IParamResultVo extends IResponseVo {
  type: ParamTypeEnum;
  value: ParamValueType;
}
